System and method for updating a table-of-contents in a frameset

ABSTRACT

A self-updating frameset having a target document in one frame and a Table-of-Contents (TOC) document in another frame hyperlinked to the target document. A reference document (RD) field is inserted into the TOC document to identify the target document as the target of the TOC. A TOC field in the TOC document scans the target document to identify selected headings as entries in the TOC document. When the selected headings are identified, the TOC field creates hyperlink entries in the TOC document, each hyperlink entry having a corresponding anchor at a selected heading in the target document. The hyperlink entries in the TOC document can be automatically updated each time the fields in the TOC document are recalculated.

FIELD OF THE INVENTION

The present invention generally relates to HTML frameset creationprograms. More particularly, the present invention relates to updating atable-of-contents in a first frame of a frameset, the table-of-contentshyperlinked to a target document in a second frame of the frameset.

BACKGROUND OF THE INVENTION

When viewing a document online, such as in a word processor or Internetbrowser, it is often difficult to navigate through sections of thedocument if the document is lengthy. Finding a particular passage oftext or section by simply scrolling through the long document can bedifficult and time consuming. It can be helpful to have atable-of-contents in a window beside the document to help navigate thedocument. The table-of-contents can be hyperlinked to selected sectionsof the document such that triggering a particular link in thetable-of-contents moves the focus of the word processor or Internetbrowser to the desired section of the document. For this discussion, theterm “hyperlinked” means an association between a “link” in a first(“source”) document and an “anchor” in a second (“target”) document.Triggering the link in the source document brings the screen of thetarget document containing the anchor into focus. For this discussion,the term “focus” relates to the active screen display available to theuser for viewing.

From a typical user's perspective, existing mechanisms for creating atable-of-contents hyperlinked to a target document are flawed. Forinstance, word processors can create a table-of-contents hyperlinked toselected portions of the target document. However, existing wordprocessors merely create a table-of-contents within the same document.Unfortunately, to view the table-of-contents and the target documentside-by-side in a HyperText Markup Language (“HTML”) frameset, the twoshould be in separate documents. For this discussion, the term“frameset” means a group of windows owned by a single software programmodule, where each window displays the contents of a different document.Existing word processors do not provide the ability to view thetable-of-contents and the target document side-by-side in an HTMLframeset, such as with an Internet browser. For that reason, thetable-of-contents and target document cannot be easily opened by anInternet browser for online viewing.

Certain HTML editors can create an HTML frameset containing a targetdocument in one frame and a table-of-contents document in a secondframe, with the table-of-contents document hyperlinked to selectedsections of the target document. This solution allows thetable-of-contents and the target document to be viewed online over theInternet. However, maintaining the validity of the hyperlinks in thetable-of-contents is a tedious and time-consuming process for anevolving document. For HTML editors, a change made to the targetdocument cannot be reflected in the table-of-contents document withoutmanually editing the table-of-contents document.

Accordingly, a need exists for a mechanism to create an HTML framesethaving a target document in one frame and a separate table-of-contentsdocument in another frame, with the table-of-contents documenthyperlinked to selected sections of the target document. Moreover, themechanism should be self-updating such that a change in a selectedsection of the target document will be reflected in thetable-of-contents document without the need to manually edit thehyperlinks in the table-of-contents document.

SUMMARY OF THE INVENTION

The present invention meets the above-described needs by providing theability to create a self-updating frameset having a table-of-contents(“TOC”) document in one frame hyperlinked to a target document inanother frame. The term “frameset” refers to the creation of two or moreindependent windows with each window simultaneously displaying adifferent document. The target document can be displayed in one framebeside the TOC document in another frame. In this way, a user has accessto a portion of both documents simultaneously.

The TOC document can be “hyperlinked” to selected parts of the targetdocument to aid in the navigation of the target document. Hyperlinkentries associated with selected parts of the target document can becreated in the TOC document. The selected parts of the target documentcan be headings distributed throughout the target document whichintroduce various sections of the target document. Triggering ahyperlink entry in the TOC document in one frame results in the targetdocument scrolling until a heading associated with the hyperlink entryis visible in the other frame. Accordingly, the user can quickly scrollthe target document forward or backward to a desired section bytriggering a link in the TOC document corresponding to a heading at thedesired section.

The TOC document is separate from the target document and may beformatted in a manner similar to any other self-contained document. TheTOC document is configured such that changes in the target document arereflected without the user having to manually edit the TOC document. Forexample, in response to an update event, such as the opening of the TOCdocument, the hyperlink entries in the TOC document are recreated.Therefore, changes made to the selected parts of the target document arereflected in the TOC document without the need to manually edit thehyperlink entries in the TOC document.

In one aspect of the present invention, a self-updating framesetincludes a TOC document hyperlinked to a target document. The framesetcontains two frames, a first frame including the TOC document and asecond frame including the target document. Both the TOC document andthe target document are visible in the frameset. This allows a user tosimultaneously view both the TOC document and the target document.

The TOC document typically includes a set of entries referencing subjectmatter in the target document. For example, the entry may be a hyperlinkentry having a link to an anchor in the target document. For thisdiscussion, the term “link” refers to a specially activated word, phraseor image in a source document that, when triggered, transfers the focusto the anchor in the target document or in another part of the sourcedocument. The term “anchor” refers to a special code or label embeddedwithin a document that identifies the point to which focus will betransferred if the corresponding link is triggered.

The link portion of an entry in the TOC document is receptive to atriggering event, such as a mouse click, and the corresponding anchor ismaintained in the target document. Once a link is triggered, thecomputer system responds by scrolling the target document in theframeset to the anchor. The anchor is typically embedded within thetarget document near a preselected heading in the target document.Accordingly, triggering the link in the TOC document in one frame causesthe target document in another frame to scroll until the preselectedheading of the target document is in view.

The hyperlink entry can be automatically updated to reflect a change tothe target document. At identified times, the entry in the TOC documentis recreated to correspond to the preselected heading. If thepreselected heading has changed between the time the entry was firstcreated and the time the entry is recreated, then the change isautomatically reflected in the TOC document in response to an updatetask conducted at an identified time.

In another aspect of the present invention, a created frameset includesa TOC document in a first frame and a target document in a second frame.The target document contains one or more preselected headings indicatinga beginning of corresponding sections in the target document. The targetdocument can be scanned to identify each preselected heading. Ahyperlink entry is created in the TOC document in response toidentifying a preselected heading in the target document. As part ofcreating the hyperlink entry, an anchor is inserted into the targetdocument at a location proximate to the preselected heading. Triggeringthe link portion of a hyperlink entry in the TOC document results inscrolling the target document until the corresponding anchor is visible.

The TOC document may be configured to recreate itself in response to apredetermined event, for instance, each time the TOC document is opened.These events are termed “update” events. In response to an update event,the target document is scanned to identify each preselected heading. Inresponse to locating a preselected heading, a corresponding hyperlinkentry is created in the TOC document. In this manner, a change made tothe preselected heading will be reflected in the TOC document each timean update event occurs.

The present invention overcomes the disadvantages in the prior art byproviding the ability to create an HTML frameset with the TOC documentin one frame hyperlinked to the target document in another frame. Inthis way, the frameset created by the present invention is readable byboth word processing programs and Internet browsers. This aspectovercomes the current limitation with creating a TOC within the targetdocument, which cannot be easily transformed to an HTML framesetreadable by an Internet browser. Moreover, the frameset isself-updating, thereby eliminating the need to manually maintain thehyperlinks in the TOC document based on a change in the target document.

Other features, aspects, and advantages of the present invention willbecome apparent upon reading the following detailed description ofexemplary embodiments, taken in conjunction with the drawings and theclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a computer that provides a portion of theoperating environment for an exemplary embodiment of the presentinvention.

FIG. 2 illustrates a target document present within a window of a wordprocessing program in accordance with an exemplary embodiment of thepresent invention.

FIG. 3 illustrates a frameset, including the target document illustratedin FIG. 2 in a first frame and a TOC document in a second frame, presentwithin a word processing program in accordance with an exemplaryembodiment of the present invention.

FIG. 4 illustrates the frameset of FIG. 3 with hyperlink entries createdin the TOC document, and an exploded view of a portion of the targetdocument detailing a heading in the target document, in accordance withan exemplary embodiment of the present invention.

FIG. 5 illustrates the completed, self-updating frameset of FIG. 4providing visual access to the hyperlink entries in the TOC documentcorresponding to headings in the target document such that triggeringthe entries allows easy navigation of the target document, in accordancewith an exemplary embodiment of the present invention.

FIG. 6 is a flow diagram illustrating in general steps performed by anexemplary embodiment of the present invention to create a self-updatingframeset with a TOC document hyperlinked to sections of a targetdocument.

FIGS. 7A and 7B are flow diagrams illustrating steps in moreparticularity performed by an exemplary embodiment of the presentinvention to create a self-updating frameset with a TOC documenthyperlinked to sections of a target document.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The present invention is directed to a self-updating frameset with atable-of-contents (TOC) document having TOC entries hyperlinked topreselected portions of a target document. In brief, the presentinvention can create a frameset containing a target document hyperlinkedto a TOC document. A reference document field is inserted into the TOCdocument to identify which document is associated with the TOC document,i.e., the target document. A TOC field is also inserted into the TOCdocument to create TOC entries. The TOC field scans the target documentto identify preselected headings, which introduce different sections ofthe target document. A TOC entry is created in the TOC documentcorresponding to each identified heading of the target document. A TOCentry is created by inserting a link in the TOC document correspondingto an anchor, such as a bookmark at a heading, in the target document.When the link in the TOC document is triggered, the target documentscrolls either forward or backward until the anchor is in the activewindow of the target document. Accordingly, the user can easily navigatethrough the target document by triggering links in the TOC documentcorresponding to the heading which the user desires to be in the activewindow of the target document.

FIG. 1 and the following discussion are intended to provide a brief,general description of a suitable computing environment in which theinvention may be implemented. While the invention will be described inthe general context of an application program that runs on an operatingsystem in conjunction with a personal computer, those skilled in the artwill recognize that the invention also may be implemented in combinationwith other program modules. Generally, program modules include routines,programs, components, data structures, etc. that perform particulartasks or implement particular abstract data types. Moreover, thoseskilled in the art will appreciate that the invention may be practicedwith other computer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like. Theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

With reference to FIG. 1, an exemplary system for implementing theinvention includes a conventional personal computer 20, including aprocessing unit 21, a system memory 22, and a system bus 23 that couplesthe- system memory to the processing unit 21. The system memory 22includes read only memory (ROM) 24 and random access memory (RAM) 25. Abasic input/output system 26 (BIOS), containing the basic routines thathelp to transfer information between elements within the personalcomputer 20, such as during start-up, is stored in ROM 24. The personalcomputer 20 further includes a hard disk drive 27, a magnetic disk drive28, e.g., to read from or write to a removable disk 29, and an opticaldisk drive 30, e.g., for reading a CD-ROM disk 31 or to read from orwrite to other optical media. The hard disk drive 27, magnetic diskdrive 28, and optical disk drive 30 are connected to the system bus 23by a hard disk drive interface 32, a magnetic disk drive interface 33,and an optical drive interface 34, respectively. The drives and theirassociated computer-readable media provide nonvolatile storage for thepersonal computer 20. Although the description of computer-readablemedia above refers to a hard disk, a removable magnetic disk and aCD-ROM disk, it should be appreciated by those skilled in the art thatother types of media which are readable by a computer, such as magneticcassettes, flash memory cards, digital video disks, Bernoullicartridges, and the like, may also be used in the exemplary operatingenvironment.

A number of program modules may be stored in the drives and RAM 25,including an operating system 35, one or more application programs 36,other program modules, such as a word processing program 37, and programdata 38. The word processing program 37 may include a TOC generationsoftware module 37 a in accordance with an exemplary embodiment of thepresent invention. In this embodiment, the invention is incorporated ina word processing application program entitled “MICROSOFF WORD,”marketed by Microsoft Corporation of Redmond, Wash. A user may entercommands and information into the personal computer 20 through akeyboard 40 and pointing device, such as a mouse 42. Other input devices(not shown) may include a microphone, joystick, game pad, satellitedish, scanner, or the like. These and other input devices are oftenconnected to the processing unit 21 through a serial port interface 46that is coupled to the system bus, but may be connected by otherinterfaces, such as a game port or a universal serial bus (USB). Amonitor 47 or other type of display device is also connected to thesystem bus 23 via an interface, such as a video adapter 48. In additionto the monitor, personal computers typically include other peripheraloutput devices (not shown), such as speakers or printers.

The personal computer 20 may operate in a networked environment usinglogical connections to one or more remote computers, such as a remotecomputer 49. The remote computer 49 may be a server, a router, a peerdevice or other common network node, and typically includes many or allof the elements described relative to the personal computer 20, althoughonly a memory storage device 50 has been illustrated in FIG. 1. Thelogical connections depicted in FIG. 1 include a local area network(LAN) 51 and a wide area network (WAN) 52. Such networking environmentsare commonplace in offices, enterprise-wide computer networks, intranetsand the Internet.

When used in a LAN networking environment, the personal computer 20 isconnected to the LAN 51 through a network interface 53. When used in aWAN networking environment, the personal computer 20 typically includesa modem 54 or other means for establishing communications over the WAN52, such as the Internet. The modem 54, which may be internal orexternal, is connected to the system bus 23 via the serial portinterface 46. In a networked environment, program modules depictedrelative to the personal computer 20, or portions thereof, may be storedin the remote memory storage device. It will be appreciated that thenetwork connections shown are exemplary and other means of establishinga communications link between the computers may be used.

FIGS. 2-5 illustrate an exemplary embodiment of the present invention bypresenting a sequence of simulated display screens of a word processingprogram, such as the word processing program 37. FIG. 2 is anillustration of a screen display 200 of an exemplary computer programfor creating documents, such as word processing program 37. Visible inthe screen display 200 is a target document 202, entitled “QuarterlyReport,” within a window of the word processing program 37. The targetdocument 202 is divided into several sections to which a user desiresquick access. For this discussion, the term “section” means a passage oftext and/or graphical images which is differentiated from other passagesin the same document. A section may be a few paragraphs or severalpages. For example, visible in the screen display 200 is an executivesummary section 203 and a portion of a section discussing stock holders'equity 205. Although only two sections are visible in the screen display200, the target document 202 may be lengthy and contain severalsections.

Each of the several sections is preceded by a heading. Headings aregenerally short passages of text used to introduce the differentsections of the target document 202. For instance, in the screen display200, a Heading 204 introduces the executive summary section 203 of thetarget document 202, and a Heading 206 introduces a section discussingstock holders' equity 205. Although only two headings are visible in thescreen display 200 of FIG. 2, the target document 202 may containmultiple headings introducing the various sections.

To prepare the target document 202, the headings may be selected byassigning a particular “style” to the heading text. Those skilled in theart will appreciate that a style is a configuration of textual formatselections, such as font size, typeface, line spacing, or paragraphjustification, which can be applied to text in a word processingdocument. For instance, the Heading 204 and the Heading 206 may each beselected by assigning a “Header 1” style to each heading. Assigning thestyle to the headings may involve highlighting the text of the headingsand making a style choice from a menu bar 210. For example, in thescreen display 200, the Heading 204 and the Heading 206 are eachhighlighted (illustrated by the darkened rectangles enclosing theheadings). At this point, by making a style choice from the menu bar210, a style may be applied to both headings. The style distinguishesthe headings from other text in the target document 202. Once theheadings are selected, the TOC document may be created. For example, ina preferred embodiment, the user may trigger a TOC creation event byselecting a “TOC in Frameset” option (not shown) from the menu bar 210.

FIG. 3 presents a screen display 215 having a frameset 218 that iscreated in response to a TOC creation event. In particular, the wordprocessing program 37, in response to the user's input, creates a TOCdocument 220 and a frameset 218 containing the target document 202 andthe TOC document 220. For this discussion, the term “frameset” relatesto the creation of two or more independent windows with each windowsimultaneously displaying a different document. Framesets are common inthe field of HTML documents and are often used to subdivide a maindisplay window of a computer software program, such as the wordprocessing program 37 or an Internet browser, in order to browse two ormore documents simultaneously. The user may access any documentdisplayed in a visible frame.

In the screen display 215, the frameset 218 includes a left frame 217and a right frame 219 positioned side-by-side and simultaneouslyvisible. The left frame 217 is occupied by the newly-created TOCdocument 220, and the right frame 219 is occupied by the target document202. Those skilled in the art will appreciate that the frameset 218 mayinclude a frameset document (not shown) which defines the parameters ofthe frameset 218, such as how many frames appear and what documentsoccupy each frame.

Once the frameset 218 is created, two fields are preferably added to theTOC document 220. Before discussing the two fields, a brief discussionof the technology of “fields” is warranted. Those skilled in the artwill understand that “fields” may be used to perform functions or toautomate tasks in a word processing program. For this discussion, theterm “fields” refers to the technology of inserting codes or labels incomputer documents which, when calculated, perform pre-definedfunctions. The field is calculated for the first time when the field isinstantiated. The field can be recalculated at various intervals, whichmay be user selectable. One common example is a “date field” which maybe inserted into a computer document and displays the current date eachtime the field is calculated. A computer document can be configured torecalculate its fields each time it is opened. Consequently, each timethe computer document is opened, the date field displays the currentdate. For the purpose of this discussion, the term “update event” meansthe occurrence of an event that causes the fields of a document to berecalculated. Examples of possible update events are the opening of thedocument or the pressing of a particular key combination on a computerkeyboard, such as the keyboard 40. The use of fields within electronicdocuments is known in the art.

A Reference Document (“RD”) field 224 defines the “reference document”for the TOC document 220. The reference document is the document withwhich the TOC document 220 is associated, in this instance, the targetdocument 202. When the TOC creation event occurs, the RD field 224 isinserted into the TOC document 220 and configured to reflect the name ofthe target document 202. For the representative example shown in FIG. 3,the RD field 224 identifies “Quarterly Report.” When instantiated, andeach time the field is recalculated, the RD field 224 sets a pointer inmemory, such as the memory 25, to the target document 202.

The second field inserted in the TOC document 220 is a TOC field 230.When instantiated, the TOC field 230 performs several tasks. First, theTOC field 230 scans the target document 202 (identified by the pointerset by the RD field 224) to identify the headings of the target document202. The TOC field 230 locates the portions of the target document 202which have been assigned a particular style, such as the Header 1 style.In the disclosed embodiment, the Heading 204 and the Heading 206 havebeen assigned that particular style and are, therefore, identified asentries for the TOC document 220. As mentioned, many other headings mayexist in the target document 202, and each heading bearing theparticular style is identified as an entry for the TOC. It should benoted that the RD field 224 and the TOC field 230 are visible in FIG. 3for illustrative purposes only, and in operation the fields-may behidden such that they operate in the background without the user'sknowledge.

FIG. 4 presents a screen display 250 illustrating the creation ofentries in the TOC document 220. Shown is the frameset 218 having theTOC document 220 visible in the left frame 217 and the target document202 simultaneously visible in the right frame 219. Visible within theTOC document 220 is a series of entries, such as Entry 260 and Entry254. The creation and function of those entries is discussed below. Anexploded view 251 illustrates in larger dimension a part of the targetdocument 202 near the Heading 204. A bookmark 264 is shown in theexploded view 251 at the Heading 204. Although the bookmark 264 isvisible in the exploded view 251, those skilled in the art willappreciate that the bookmark 264 may be an invisible code or label whichis not displayed in the target document 202. The bookmark is alsodiscussed in greater detail below.

Visible in the target document 202 are an executive summary section 203and a section discussing stock holders' equity 205. Preceding thosesections is the Heading 204 and the Heading 206, respectively. Thoseskilled in the art will appreciate that although only those two sectionsare visible in the right frame 219, the target document 202 may belengthy and contain several sections. In order to display othersections, it is necessary to scroll the target document 202 until thedesired section is visible in the right frame 219.

The creation of the entries in the TOC document 220 occurs once theselected headings are identified as discussed above with respect to FIG.3. A hyperlink entry is created in the TOC document 220 for eachselected heading. As mentioned above, a hyperlink has two components: alink and an anchor. The anchor is discussed in greater detail below. Thelink is a specially activated word, phrase or image in the TOC document220 that, when triggered, transfers the focus to the anchor in thetarget document 202. In the disclosed embodiment, the entries, such asEntry 260 and Entry 254, in the TOC document 220 are visualrepresentations of the links corresponding to the entries. Accordingly,for simplicity of discussion, the terms “entry” and “link” may be usedinterchangeably. Therefore, each entry in the TOC document 220 may be alink to a corresponding anchor in the target document 202.

Those skilled in the art will appreciate that the link can be created byinserting a code at each entry which enables the link to cause the focusto transfer to the anchor in the target document. For example, a codeinserted at Entry 260, corresponding to the Heading 204, may take theform:<a href=“quarterly_report.html#Executive Summary”>Executive Summary</a>which results in a link having “Executive Summary” displayed inunderlined text in the TOC document 220. The text of the entry may bedisplayed in a different color than ordinary text, or the text of theentry may be underlined to identify its linking function. In the screendisplay 250, the links are displayed as underlined text. Alternatively,the link may be a graphical image rather than text. When the link atEntry 260 is triggered, the focus of the target document 202 will shiftto an anchor located at “quarterly_report.html#Executive Summary”(discussed below).

The TOC field 230 continues locating the selected headings in the targetdocument 202 and creating hyperlink entries in the TOC document 220until all the selected headings have corresponding hyperlink entries,such as Entry 254, in the TOC document 220. Anchors for each link thencan be inserted in the target document 202. The anchor may be aninvisible code labeling a particular point in the target document. Foreach hyperlink entry, a second code, often referred to in the art as a“bookmark,” is inserted in the target document 202 at the headingassociated with the hyperlink entry. The bookmark is the anchor for thehyperlink entry. Therefore, the Entry 260 includes a link having ananchor at bookmark 264.

The exploded view 251 illustrates in larger dimension the area of thetarget document 202 near the Heading 204. The bookmark 264 functions tolabel the particular location where the bookmark 264 is inserted. Thebookmark 264 may be inserted in the target document 202 near the Heading204 to label that-location in the target document 202. Accordingly, theEntry 260 corresponding to the bookmark 264 is associated with thelocation near the Heading 204. Although the bookmark 264 is depictedgraphically in the exploded view 251, those skilled in the art willappreciate that the bookmark 264 may be hidden. For example, thebookmark may be a code inserted near Heading 204, corresponding to Entry260, and take the form:<a name=“Executive Summary”/a>which identifies Heading 204 as the point in the target document 202associated with the Entry 260. Inserting bookmarks at headings isrepeated for each entry until bookmarks have been inserted in the targetdocument 202 corresponding to each entry in the TOC document 220. Whenall of the bookmarks are inserted in the target document 202, the TOCfield execution is complete.

FIG. 5 is a screen display 280 illustrating the completed frameset 218.Visible in the screen display 280 is the TOC document 220 in the leftframe 217 and the target document 202 in the right frame 219. Visible inthe TOC document 220 is a series of entries, such as the Entry 260 andthe Entry 282, created as discussed above with respect to FIG. 4.Accordingly, each of the entries corresponds to a heading preceding asection of the target document 202. In the screen display 280, only theexecutive summary section 203 and a portion of the section discussingstock holders' equity 205 are visible. The executive summary section 203is preceded by the Heading 204, and the section discussing stockholders' equity 205 is preceded by the Heading 206. Although only thosetwo sections are visible in the screen display 280, it will be apparentfrom the number of entries in the TOC document 220 that the targetdocument 202 contains many sections which are not visible.

Each entry is functional to cause the target document 202 to scroll inthe right frame 219 until the heading corresponding to the entry comesin to view. For example, a user may trigger an entry in the TOC document220, such as Entry 260, which causes the target document 202 to scrolluntil the Heading 204 is visible in the right frame 219. Otherwise, theuser may select any other entry and bring its corresponding heading infocus. For instance, if the user selects Entry 282, the target document202 will scroll until the section discussing net income (not shown) isvisible in the right frame 219. In this manner, the user may quicklynavigate through the target document 202 by clicking on the severalentries in the TOC document 220.

The TOC document 220 created is self-updating. In other words, when thefields in the TOC document 220 are recalculated, the entries in the TOCdocument 220 are updated. In this manner, changes in the target document202, such as changes in the relative positions of the headings, the TOCdocument 220 reflects those changes without the need for manualmaintenance of the TOC document 220 by the user. Moreover, if the textof the headings is modified, those changes are reflected in the TOCdocument 220 as well. For instance, the user may edit the text of theheading in the target document 202 corresponding to Entry 286 from“Financial Condition” to “Financial Position.” Accordingly, the nexttime the fields in the TOC document 220 are recalculated, the TOC field230 (FIG. 3) scans the target document 202 and automatically modifiesEntry 286 to reflect the change. Those skilled in the art willunderstand that recalculating the fields may be performed manually, orin response to an update event. For example, the TOC document 220 can beconfigured to recalculate its fields each time it is opened or printed.

Once the frameset is created, the contents of both documents can besaved as HTML documents in an Internet browser-readable format. Savingdocuments in HTML language is known in the art of word processors. Inthis way, the frameset includes the target document and the TOC documenthyperlinked to selected sections of the target document. The framesetitself also can be saved in HTML format, making it readable by Internetbrowsers. Accordingly, the HTML frameset can be updated without the needfor manually editing the TOC document by recalculating the fields in theTOC document and resaving the frameset in HTML format.

FIG. 6 is a logical flow diagram illustrating an overview of stepsperformed by an exemplary embodiment of the present invention to createa self-updating frameset with a TOC document hyperlinked to a targetdocument. Turning now to the flow diagram 600, at starting step 601, arepresentative target document, such as the target document 202illustrated above in FIG. 2, is created. The representative targetdocument may be lengthy and partitioned into several sections. A headingmay precede each of several sections. The heading may be a passage oftext briefly describing the subject matter of the section introduced bythe heading. Alternatively, the heading may be a graphical image. A wordprocessing style, as described above with respect to FIG. 2, may beapplied to identify the headings in the target document.

At block 602, a frameset and the TOC document are created. The framesetmay contain two frames positioned adjacent to each other, as illustratedby the frameset 218 of FIG. 3. The TOC document occupies one frame inthe frameset and the target document occupies another frame. In thisway, the TOC document and the target document are visible side-by-side.Making the two documents simultaneously visible provides the user withquick access to both documents.

At block 604, an entry is created in the TOC document which correspondsto a heading in the target document. The creation of the entry includesinserting a link in the TOC document and inserting an associated anchorin the target document. The link may appear in the TOC document as ashort passage of text, such as the text of the heading, or a graphicalimage. The link includes a special code which makes the link sensitiveto a triggering event, such as a mouse click. The anchor may be aninvisible code labeling a particular point in the target document.Triggering the link makes the part of the target document containing thelink's associated anchor the visible portion of the target document. Bylocating the anchor near the heading corresponding to the link, theheading is made visible when the link is triggered.

At decision block 606, a determination is made whether headings remainin the target document which do not have a corresponding entry in theTOC document. If headings remain, then the “No” branch is followed toblock 604 and another entry is created for a remaining heading. If allof the headings in the target document have corresponding entries in theTOC document, the “Yes” branch is followed to decision block 608.

Decision block 608 represents an idle state awaiting the occurrence ofan update event. As mentioned above, an update event can be any eventwhich indicates that the TOC document should be recreated, such as theopening of the TOC document, a particular keystroke-combination, or thelike. In response to an update event, the “Yes” branch is followed toblock 604 and the entries in the TOC document are recreated. I this way,if a change to the target document is made, such as a modification tothe text of a heading or the addition of a new heading, the change isreflected in the TOC document.

FIGS. 7A and 7B are logical flow diagrams which, when taken together,depict a flow diagram 700 illustrating in more particularity the stepsperformed by an exemplary embodiment of the present invention to createa self-updating frameset with a TOC document hyperlinked to sections ofa target document. Turning now to the flow diagram 700, a representativetarget document, such as a document created by the word processingprogram 37 (FIG. 1), is created. The target document is typicallydivided into several sections to which a user desires quick access. Aheading at the beginning of each section separates that section fromother sections. For example, the target document 202 of FIG. 2 includesan “Executive Summary” section introduced by Heading 204, and a “StockHolders' Equity” section introduced by Heading 206.

In the exemplary embodiment, the target document has been prepared byapplying a certain word processing style to each heading. For instance,each heading in the target document may have a “Heading 1” style or a“Heading 2” style applied. As mentioned above, with respect to FIG. 2, a“style” is a configuration of textual format selections, such as fontsize, typeface, line spacing, or paragraph justification, which can beapplied to text in a word processing document.

At decision block 702, the flow diagram 700 awaits a notification thatthe user desires to create a TOC in a frameset. The notification can bea user input, such as selecting a TOC frameset item from a graphicalmenu. Alternatively, the notification can be automated. For instance,when saving the target document for the first time, the notification maybe automatically generated. When the notification is received, the “Yes”branch is followed from block 702 to block 704.

At block 704, a frameset containing the TOC document and the targetdocument is created. The frameset may include two frames side-by-sideand visible in a window of the word processing program 37 (FIG. 1). Forexample, the frameset 218 illustrated in FIG. 5 includes the TOCdocument 220 positioned adjacent to the target document 202. Within thestructure of the frameset 218, the TOC document 220 is an individualdocument. Accordingly, the target document 202 occupies one frame andthe TOC document 220 occupies another frame in the frameset 218. A framedocument, which is not visible to the user, defines the parameters ofthe frameset. Representative parameters of a frameset include the numberand position of the frames and the documents to be included in eachframe.

At block 706, a “reference document,” or RD, field is inserted into theTOC document. The RD field may be inserted into the TOC document at anyappropriate location, such as at the beginning of the TOC document. TheRD field defines the document to which the TOC document is hyperlinkedand sets a parameter to point to this target document. In the exampleshown in FIG. 3, the RD field inserted in the TOC document is configuredto set a pointer to the target document. In this manner, each time theRD field is recalculated, the parameter is set to point to the targetdocument.

At block 708, a TOC field is inserted into the TOC document. The TOCfield is a coded routine that is responsible for generating the entriesin the TOC document. Once the TOC field is inserted into the TOCdocument, the TOC field assumes processing control and performs theremaining steps for generating the TOC. In response to inserting the TOCfield into the TOC document at block 708, the AA branch is followed toblock 710 (FIG. 7B).

Turning now to FIG. 7B, the TOC field, at block 710, performs the taskof scanning the target document to identify the headings. In thedisclosed embodiment, scanning the target document includes searchingfor any text bearing the certain style discussed above. For instance,the TOC field can search for any text in the target document bearing theHeading 1 style or the Heading 2 style. Because the headings to eachsection of the target document are selected by applying the certainstyle, the text of each heading is identified by the TOC field as a TOCentry.

At block 712, the TOC field creates a hyperlink in the TOC documentassociated with each heading. As discussed above, the hyperlink has twocomponents: a “link” and an “anchor.” The link is an entry in the TOCdocument which, when triggered, moves the focus of the target documentto the screen of the target document containing the anchor. Thoseskilled in the art will understand that triggering the link may beperformed by using a mouse to place the cursor proximate to the link anddepressing a mouse button, i.e. “clicking on the link,” therebyactivating the link.

At block 714, the TOC field inserts a bookmark in the target documentcorresponding with each link in the TOC document. The bookmark operatesas an anchor to its corresponding link in the TOC document. The bookmarkis located near the selected heading in the target document but ispreferably not visible. Once the bookmark has been inserted in thetarget document, the hyperlink is complete. Triggering the link in theTOC document causes the focus of the target document to move to thescreen containing the anchor (the bookmark).

At decision block 716, a determination is made whether all of theselected headings in the target document have been linked to the TOCdocument. If not, then the flow diagram 700 returns to block 712 and theTOC field creates the next hyperlink. The TOC field preferably continuescreating hyperlinks between the TOC document and the target documentuntil all of the selected headings in the target document have acorresponding entry in the TOC document. Once complete, the flow diagram700 proceeds from decision block 716 to decision block 718.

At decision block 718, the flow diagram 700 is idle until an updateevent occurs. Those skilled in the art will appreciate that computerdocuments can be configured to recalculate fields in response to manydifferent circumstances. For instance, a field is commonly firstcalculated when the field is instantiated. Thereafter, the field isrecalculated in response to some external event, such as each time thecomputer document is opened or printed. In the disclosed embodiment,recalculation of the TOC field may occur in several ways. For instance,a manual event may cause recalculation, such as a particular key-strokecombination. Also, recalculation may be automatic, such as each time theTOC document is opened. In any event, when an update event is detected,the Yes branch is followed from decision block 718 to block 710. In thisway, a change made in the target document, such as modifying, deleting,or moving a selected heading, will be reflected in the TOC documentwithout the user having to manually modify the entries in the TOCdocument.

In summary, it will be appreciated that the present invention provides amechanism for creating a self-updating frameset having a set of framescontaining a TOC document hyperlinked to a target document. A TOCdocument can be created within a frameset. An RD field can be insertedinto the TOC document to identify the target document as the document tobe linked to the TOC document. A TOC field is also inserted into the TOCdocument. The TOC field scans the target document to identify selectedheadings to include as entries in the TOC document. In response toidentifying the selected headings, the TOC field creates hyperlinkentries in the TOC document. Each hyperlink entry has a correspondinganchor at a selected heading in the target document. Hyperlink entriesin the TOC document can be automatically updated each time the fields inthe TOC document are recalculated. In this manner, the need to manuallyupdate hyperlinks between two documents in an HTML frameset iseliminated.

From a reading of the description above pertaining to the disclosedembodiments of the present invention, modifications and variationsthereto may become apparent to those skilled in the art. Therefore, thescope of the present invention is to be limited only by the followingappended claims.

1-23. cancel.
 24. A method for creating a frameset that includes atable-of-contents (“TOC”) linked to a directly editable target document,comprising: creating the frameset that includes a TOC document in afirst frame and the target document in a second frame, wherein at leasta portion of the TOC document and at least a portion of the targetdocument are visible; creating an entry in the TOC document thatincludes a link to a selected part of the target document; presenting atleast a portion of the selected part of the target document when thelink is selected; and updating the entry in the TOC document in responseto a user action.
 25. The method of claim 1, wherein the user action isan edit to the selected part of the target document.
 26. The method ofclaim 1, wherein creating the frameset comprises creating a framesetdocument defining parameters for the frameset including a first uniqueparameter for identifying a number of frames in the frameset and asecond unique parameter identifying the TOC document and the targetdocument to include in the frameset.
 27. The method of claim 1, furthercomprising inserting a reference document field in the TOC documentprior to creating the entry in the TOC document, wherein the referencedocument field is operative to set a pointer to the target document thatidentifies the target document as a document to be linked to the TOCdocument.
 28. The method of claim 1, further comprising: inserting a TOCfield in the TOC document prior to creating the entry in the TOCdocument, wherein the TOC field is operative to perform tasks related tocreating the entry in the TOC document.
 29. The method of claim 5,wherein the tasks related to creating the entry in the TOC documentcomprise scanning the target document to locate the selected part forinclusion as the entry in the TOC document.
 30. The method of claim 6,wherein scanning the target document to locate the selected part of thetarget document comprises searching the target document for an itemhaving a style representing a particular format selection.
 31. Themethod of claim 7, wherein creating the entry in the TOC documentcomprises: inserting the link in the TOC document, wherein the linkincludes a parameter identifying an anchor for the link and correspondsto the selected part of the target document; and inserting the anchor inthe target document at a location proximate to the selected part of thetarget document.
 32. The method of claim 1, wherein creating the entryin the TOC document comprises: inserting the link in the TOC document,wherein the link includes a parameter identifying an anchor for thelink; and inserting the anchor in the target document at a locationproximate to the selected part of the target document.
 33. The method ofclaim 6, wherein updating the entry in the TOC document comprisesrepeating the scanning of the target document to locate the selectedpart of the target document in response to an update event.
 34. Themethod of claim 10, wherein the update event comprises opening the TOCdocument.
 35. The method of claim 10, wherein the selected part of thetarget document comprises a heading of a section in the target document.36. The method of claim 1, further comprising saving the frameset inHyperText Markup Language (HTML) format.
 37. A computer readable mediumhaving computer executable instructions for creating a hyperlinkedtable-of-contents in a frameset, comprising: creating a first frame anda second frame within the frameset, the first frame comprising a TOCdocument and the second frame comprising a target document, the targetdocument being directly editable and having a selected headingidentifying a section in the target document; scanning the targetdocument to locate the selected heading; creating a hyperlink entry inthe TOC document that includes a link that is associated with an anchorin the target document, wherein the anchor is positioned proximate tothe selected heading, and wherein triggering the link causes the targetdocument to reveal at least a portion of the selected heading in thesecond frame; and updating the hyperlink entry in the TOC document inresponse to an update event without direct manual intervention
 38. Thecomputer readable medium of claim 14, wherein the update event is anedit to the selected heading.
 39. The computer readable medium of claim14, wherein creating the frameset comprises creating a frameset documentdefining parameters including a first unique parameter for identifying anumber of frames in the frameset and a second parameter identifying theTOC document and the target document to include in the frameset.
 40. Thecomputer readable medium of claim 14, further comprising: inserting aTOC field in the TOC document prior to scanning the target document,wherein the TOC field is operative to perform tasks related togenerating the hyperlinked table-of-contents in the TOC document. 41.The computer readable medium of claim 14, wherein scanning the targetdocument comprises searching the target document to locate the selectedheading, wherein the selected heading has a particular configuration oftextual attributes which differentiates the selected heading from othertext in the target document.
 42. The computer readable medium of claim14, wherein the link comprises a code embedded within the TOC documentwhich, when triggered, causes the target document to move to a positionwhere the anchor is visible.
 43. The computer readable medium of claim14, wherein the anchor comprises a code embedded within the targetdocument proximate to the selected heading, wherein the code isoperative to identify a particular location in the target document. 44.The computer readable medium of claim 14, wherein updating the hyperlinkentry in the TOC document in response to the update event comprises:scanning the target document; creating an updated hyperlink entry in theTOC document that includes the change to the selected heading; andinserting an anchor for the updated hyperlink entry into the targetdocument.
 45. A computer readable medium having computer executableinstructions for creating a hyperlinked table-of-contents in a frameset,comprising: creating the frameset having a TOC document and a targetdocument, the target document being directly editable and including apreselected heading indicating a section in the target document;inserting a reference document field into the TOC document that isoperative to set a pointer to the target document; inserting a TOC fieldinto the TOC document that is operative to: scan the target documentidentified by the pointer to identify the preselected heading, create ahyperlink entry in the TOC document that corresponds to the preselectedheading, and insert a bookmark into the target document at a locationproximate to the preselected heading, wherein the bookmark is associatedwith the hyperlink entry; and updating the hyperlink in the TOC documentwithout direct manual intervention to reflect an edit in the preselectedheading in response to an update event.
 46. The computer readable mediumof claim 22, wherein updating the hyperlink comprises the TOC fieldperforming the steps of: scanning the target document to identify thepreselected heading; creating the hyperlink entry in the TOC documentthat corresponds to the preselected heading; and inserting the bookmarkinto the target document at the location proximate to the preselectedheading, wherein the bookmark is associated with the hyperlink entry.47. A computer readable medium having an HTML frameset stored thereon,comprising: a first frame including an editable target documentcomprising a preselected heading; and a second frame comprising a TOCdocument comprising a hyperlink entry to a selected part of the targetdocument; wherein when the hyperlink entry is triggered causes an anchorin the target document in the first frame to come into focus, thehyperlink entry capable of being recreated without manual interventionin response to an update event.
 48. The computer readable medium ofclaim 47, wherein the update event comprises opening the TOC document.